Network Namespace

1. Mininet虛擬化的核心機制是?

  • Linux Network NamespaceMininet軟體架構的基石,用其創建虛擬節點

    需要先了解Linux Namespace 之中的 Network Namespaces

  • 預設情況下,Mininet會為每一個host創建一個新的Network Namespaces

    由於每個host都有各自獨立的Network Namespaces,我們就可以進行個性化的網路配置和程式佈署

  • SwitchController運行在root Namespace,因此兩個Processes共享同一個Network Namespaces

  • 由於Linux Namespace的虛擬技術沒有提供類似於VM的持久化能力,所以在Mininet關閉時不能保存所有設定

  • Mininet建立的Network namespacenameless的,所以透過ip netns list是查看不到的

    而透過ip netns add建立的Network Namespace是帶name的,這是兩者最明顯的區別之處
    Discussions

Linux Network NamespaceOpenStackDocker等開源項目中也廣泛應用
主要用於作業系統層級的虛擬化,包含虛擬網路

2. 解釋一下,上一個的範例與namespace的關聯

  • 範例中Host H1Host H2連接到運行在Kernel的root namespaceSwitch S1

  • H1H2擁有自己的網路匿名命名空間以及私有網路接口h1-eth0h2-eth0

  • S1有兩個埠s1-eth1s1-eth2,通過veth pair與Host接口相連,這樣H1H2就可以透過S1進行交流

  • s1-eth0s1-eth1間的data轉發透過S1完成,並使用實體接口eth0,等待Controller的指令

Example1
Image 1 - Example1
© 2017 Trashman all right reserved,powered by Gitbook修訂時間: 2024-10-14 03:41:00

results matching ""

    No results matching ""